package com.cskaoyan.javase.oop1._13block._2building;
/**
 * 注意事项
 * 一些使用构造代码块需要注意的地方：
 *
 *      1.建议应该将构造代码块，放在成员变量的声明和显式赋值语句的下面：
 *          一方面，如果构造代码块赋值在上，成员变量声明在下，逻辑上会很奇怪。
 *          另一方面，如果对象中成员变量的赋值，依赖于构造代码块和显式赋值的代码书写顺序，容易引发错误。
 *      当然如果你是为了出题，本身就存在为难的意味，不在此限制内。正常写代码不这么做即可！
 *
 *      2.因为构造代码块最终会加入构造器，所以构造代码块当中也可以使用this关键字，指向当前对象。
 *
 *
 * 但是实际使用价值和意义不大，仅作了解。
 * @since 15:59
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo3 {
}
class A{
    // {
    //     a = 10;
    // }
    int a;
    {
        a = 10;
        // 构造代码块中访问同类中的成员变量/方法
        test();
    }

    public void test(){}
}